競プロ典型90問 062 Paint All(★6)
操作を後ろから見ていく. すると, $ A_i, B_iから$ iに辺を張ったグラフ上でDFSをしていけばよいことがわかる.
実装例: https://atcoder.jp/contests/typical90/submissions/25102518